package cn.com.darly.vpm.business;

import cn.com.darly.vpm.business.amuse.bean.Amuse;
import cn.com.darly.vpm.business.conversation.bean.ConversationMessage;
import cn.com.darly.vpm.business.friend.bean.FriendShip;
import com.github.pagehelper.PageInfo;

import java.util.List;

/**
 * @author Darly/张宇辉/2018/5/8 11:13
 * @version 1.0/cn.com.darly.vpm.business
 */
public interface BusinessApi {

    /**
     * 根据登录用户信息，获取好友
     */
    List<FriendShip> userFriend(String userid);
    /**
     * 添加新好友
     */
    FriendShip userNewFriend(FriendShip shiper);

    /**
     * 通过自身id获取添加自己为好友的其他用户
     * @param id
     * @return
     */
    List<FriendShip> findUserListById(String id);
    /**
     * 根据自身id和好友id，修改数据库信息，建立好友关系。
     */
    boolean passThrou(String userId,String friendId);

    /**
     * 判断是否建立盆友关系，-1，表示还不是好友关系，也没有在申请状态。0为正在申请，还为成为好友，1+成为好友，>1的情况是友谊度
     */
    int isConnectFriendShip(String userId,String friendId);

    //------------------amuse-----------------

    /**
     * 发布话题接口
     * @param amuse
     * @return
     * @return
     */
    boolean publish(Amuse amuse);

    /**
     * 查询用户已发布的话题
     * @return
     */
    List<Amuse> published(String userid);

    /**
     * 根据传递的页码和页数，获取对应数据
     * @param pageNo
     * @param pageSize
     * @return
     */
    PageInfo<Amuse> getAmuseByPager(Integer pageNo, Integer pageSize);

    /**
     * 保存发送消息
     * @param msg
     * @return
     */
    boolean saveConversationMsg(ConversationMessage msg);

    /**
     * 查询用户消息集合
     * @param id
     * @param friendid
     * @return
     */
    List<ConversationMessage> findChatMessage(String id, String friendid);
}
